Method and apparatus for providing realistic gun motion input to a video game

ABSTRACT

A method and apparatus for providing realistic gun motion input to a video game. In one embodiment, a plastic enclosure houses a video camera, PCB, microcontroller processor, and many buttons for controlling various aspects of a video game. The processor examines images from the video camera using various feature tracking algorithms and determines the direction and magnitude of motion of the video camera, and hence the motion of plastic gun shaped enclosure in which the video camera is mounted, and that the game player is wielding. This motion data is translated into motion data that a video game running on a video game console can understand, and transmitted to the video game console. The end result is that a user pointing and moving the plastic gun will cause the in game character of the video game to move and point its gun in concert with the game player, thereby providing an intuitive and fun aiming mechanism for playing video games. The button presses that the game player initiates on the apparatus are also reported to the video game and also affect various actions therein.

BACKGROUND OF THE INVENTION

This invention relates to the field of video games, specificallyallowing a user to play a video game by moving and pressing buttons on aperipheral that is shaped like a gun.

There is a class of video games known as “first person shooters”,abbreviated FPS. In these FPS games the video game screen generallyshows the view point of a character and generally there is a cross-hairor other type of reticule to show where the character is currentlylooking and aiming their weapon.

Since approximately the middle 1990's the preferred control mechanismfor FPS games played on a personal computer (PC) has been using a mouseand a keyboard. The mouse is used to control the aiming and direction ofview, which is usually indicated on screen by a small reticule, and thekeyboard keys are used to make the character move forward, backward,left, right, and diagonal throughout 3D world.

On video game consoles these FPS games are played with a gamepad typecontroller. These gamepad controllers are gripped with both hands andhave two small joysticks mounted on the top side which are operated bythe user's thumbs. These joysticks are typically referred to as“thumbsticks”. There are also several buttons located on various otherlocations of these gamepad type controllers.

When playing an FPS game with a gamepad controller usually one of thethumbsticks is used for controlling the wind age and elevation of thein-game character's reticule, and therefore it controls the direction ofview and aiming of the in-game character. The other thumbstick controlsthe character's movement throughout the 3D world in the forward,backward, left, right, and diagonal directions.

Gamepad type controllers do not provide very precise control. With thegamepad type controllers that come with most video game consoles theaiming and movement are controlled with the user's thumbs using twothumbsticks. These thumbsticks usually are internally composed of twopotentiometers: one to measure the X-axis motion of the thumbstick andone to measure the Y-axis motion of the thumbstick. Using thesethumbsticks adversely affects aiming and movement precision in severalways. One of these ways is that controlling a thumbstick with a singlethumb lacks the opposing forces granted by the use of multiple fingersapplied to a single input mechanism. Another disadvantage, of this twoaxis per thumbstick configuration, is that there is an inherent motionbias due to friction along both of these axes. Controllers that offerequal freedom of movement in any given direction provide a more fluid,intuitive, and accurate input means.

Furthermore the gamepads are unsatisfactory to many game players becauseone has to have two thumbs on the thumbsticks controlling the directionof view and movement, and the remaining fingers wrapped around theunderside of the controller to grip it. This leaves no available fingersto push the buttons on the top side of the controller. This isespecially problematic in FPS games because there are many importantfunctions that are assigned to these top buttons that are needed whileone's thumbs are busy aiming and moving. This leaves the gamepad user noother choice but to remove a thumb from a thumbstick to press a buttonwhen needed. This causes the user's in-game character to momentarilystop moving or aiming, thereby leaving the player's character morevulnerable to the hazards in the video game, such as enemies in thevideo game firing their weapons at the user's character.

A disadvantage of the keyboard and mouse method of controlling videogames is that it is a cumbersome method to play a video game in a livingroom setting. This is mainly because a smooth and flat surface isnecessary for the mouse, and a sturdy surface is necessary for thekeyboard. Both of these surfaces need to be in close proximity to oneanother and the game player, and positioned for good ergonomics. Such aconfiguration is unlikely to be found in most living room environments.

Another disadvantage of the keyboard and mouse configuration is thatleft/right and forward/back movement within the video game is performedusing keys on the keyboard. Since keys on a keyboard only have twostates, on and off, the speed of movement cannot be modulated smoothlyand precisely.

Lastly, and most important, a disadvantage of both the gamepad andkeyboard/mouse methods of controlling FPS games is that they are notrealistic methods of aiming a gun.

BRIEF SUMMARY OF THE INVENTION

The present invention is generally directed to a gun shaped peripheralthat makes it possible for a game player to control FPS (and other)video games in a very natural, intuitive, precise, and fun manner.Several objects and advantages of the present invention include, but arenot limited to:

(a) to allow players to use a peripheral that is shaped like, and isheld like, a real firearm;

(b) to provide an intuitive method of aiming the in-game gun by simplyaiming a gun shaped peripheral;

(c) to allow keyboard/mouse players to play games in a more relaxedposture, rather than being bound to a desk;

(d) to allow a player to fire the in-game gun by pressing a button thatis actuated in a similar manner as the trigger on a real gun;

(e) to provide well located buttons and actuators for controlling avideo game on a gun shaped peripheral;

(f) to provide a very immersive game playing experience.

In one embodiment of the present invention, the gun shaped peripheralplugs into a video game console. The peripheral has a microprocessorwhich outputs signals to the video game console that are in the formatof a standard gamepad type controller for that video game console.Before outputting the signals to the video game console, the useractions are processed in accordance with user defined settings andmappings. For instance, a user may decide that a button on theperipheral should produce the same effect as would pressing the “A”button of the standard controller for that video game console. This andother user defined information is stored in a non-volatile memory suchthat it will be stored even after the device is unplugged and withoutpower. These settings can be configured by using a special buttonmapping button. This embodiment also has a thumbstick mounted on thepistol grip area, such that it is operated by the player's thumb.

In another embodiment of the present invention the gun shaped peripheralcommunicates to the game system via a wireless connection. Also, thesensitivity of the motion of the gun shaped peripheral as reported tothe video game system can be adjusted to suit the player's preference.The plastic enclosure has an expandable stock so that the user can braceit against their shoulder for added precision and realism. A solenoid isattached that produces a percussive kick back when the trigger isdepressed, in order to simulate a rifle recoil force. Buttons arelocated on the fore grip and trigger area of the peripheral for easyaccess.

Note that the invention is not limited to the aforementionedembodiments, but rather these are examples meant to help crystallize theinvention in the mind of the reader. For instance, the device itself canbe connected to the console via many different physical and wirelessmeans.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing important elements and signal flow fora preferred embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is related to an apparatus and method to allow auser to aim in a video game by holding and aiming a gun shapedperipheral. Referring to FIG. 1, in a first embodiment 100, a videocamera 110, microcontroller processor 120, fifteen buttons 115, a videogame controller plug 130, an EEPROM memory chip 135, and a thumbstick105 are mounted to a PCB (Printed Circuit Board) which connects theaforementioned components via electrically conductive traces. The PCBboard is mounted in a plastic enclosure that is shaped like asub-machine gun. The camera 110 is mounted such that it is at the frontof the apparatus and can take images of what is in front of theapparatus. When the video game controller plug 130 is plugged into thevideo game controller receptacle 145 of a video game console 140, theelectricity from the video game console 140 provides power to thecomponents on the PCB of the apparatus. The camera 110 continuallygenerates images of the environment in front of the apparatus. Theimages are read by the processor 120. The processor 120 feeds the imagesto the image processor 125. The image processor 125 examines the imagesin order to detect the direction and magnitude of the motion of thecamera 110 and thus the direction and magnitude of the motion of thefront end of the apparatus. The image processor 125 does this byidentifying trackable features within the images, locating thosefeatures in subsequent images, and calculating the displacement of thefeatures along the X and Y axes from one frame to the next. Thedisplacement information is then translated by the processor 120 intothe type of displacement information that the video game console 140understands. The displacement information is optionally modifiedaccording to a sensitivity adjustment setting prior to sending it to thevideo game console 140. The processor 120 then sends the displacementinformation to the video game console 140 via the video game controllerplug 130 and video game controller receptacle 145. The aforementionedsensitivity setting allows the user to configure the apparatus toproduce larger displacement values for a given movement of theapparatus, or smaller displacement value for a given movement of theapparatus. The displacement values as modified by this sensitivitysetting are sent to the video game console 140. The displacement valuesare modified by the sensitivity setting by multiplying the displacementvalues by a sensitivity value. A sensitivity value of less than 1.0 willshrink the displacement value, and a sensitivity value of greater than1.0 will amplify the displacement value, and therefore increase thedistance the in game character move their weapon per unit of distancethe game player moves the plastic gun.

Features are selected by the image processor 125 that are highlytrackable. A highly trackable feature is one that is significantlydifferent from another image (of the same number of pixels) that is onlya small distance away, for instance one pixel away. So to find a highlytrackable feature, the pixels of the feature are compared with every setof pixels that is one pixel in distance away. If all sets of pixels aresignificantly different than the feature, then the feature is selectedfor tracking. Once a feature has been selected it is then searched forin subsequent images. A search is done in a subsequent image bycomparing the feature to many sets of pixels that are within a certainpixel distance of where the feature was originally found. Because ofcomputational limitations a full search for the feature is not done onthe entire image. If the feature that is being tracked has moved outsideof the search radius in a subsequent image, then a lower resolutionversion of the image can be searched for the same feature, or optionallya different feature. The advantage of using the lower resolution imageis that it has far fewer pixels and therefore more of the image can besearched, and therefore features can be tracked when they are movingfaster (objects moving faster generally require a larger search radiusbecause they travel more distance between frames). The disadvantage ofthis method is that once the feature is found then its displacement canonly be reported using the lower resolution granularity of the smallerresolution image. Therefore the precision of movement is diminishedcompared with the higher resolution image. However, using the roughdisplacement/location value that the lower resolution image has yieldedfor the feature, this provides a rough idea of where the feature iswithin the higher resolution image. Therefore the higher resolutionimage can be searched for within a much smaller search radius. This nowmakes searching the high resolution image computationally feasible. Whencombining the search of the low resolution image with the search of thehigh resolution image, the image processor 125 is not only able to trackfast moving objects, but the image processor 125 is also able to trackthese objects with high precision as well.

The processor 120 also reads the status of several buttons 115 that areattached to the PCB. The buttons 115 are for controlling various actionswithin a video game. The pressed or released status of all of thebuttons 115 are read, and then a non-volatile EEPROM memory 135 is readto determine to which function of the video game each button is mapped.The status of these video game function values are then sent to thevideo game console 140 via the video game controller plug 130. Thismapping within the EEPROM memory 135 allows a game player to assign eachbutton to a chosen function. Also, the game player can choose to save acollection of these button mappings to the EEPROM memory 135. The gameplayer can then cause the processor 120 to recall the collection ofmappings and a later time. The user can store many such collections inthe EEPROM memory 135, and then instruct the apparatus to use a specificmapping set depending upon which game the game player has chosen toplay. These mappings and other settings are stored in an area of theEEPROM memory 135 known as a profile. The user can recall theappropriate profile for a particular game at any time.

The processor 120 also monitors the position of a thumbstick 105 that isattached to the PCB, and sends its value to the video game console 140via the video game controller plug 130. This thumbstick is used tocontrol the forward, backward, left, and right movement of the in gamecharacter within the video game's 3D world.

Also in this embodiment, one of the buttons 115 on the plastic enclosureis used by the game player to reposition the apparatus without causingmotion in the video game. This is important because the game playercould initially be aiming the apparatus in a comfortable direction andposition. But then, if the user would like to cause the in gamecharacter to look very far to the right, then this might cause the gameplayer to not be able to comfortably move the apparatus far enough toright to cause the in game character to move as far as needed. In thisexample, the user does not want to continue aiming further to the right,because they will no longer be in a comfortable position, and in factthis may cause them to turn facing away form the video game. But thegame player wants to move the in game character further to the right, sowhat is needed is a button, that when pressed, will allow the apparatusto move in any direction without causing any corresponding motion of thecharacter within the video game. The game player can press this buttonand then turn aim the gun further to the left, and the in game characterwill not adjust its aim at all. When the game player then releases thisbutton, subsequently moving the apparatus to the right will cause the ingame character to move to the right even further. In this manner, thegame player is able to adjust their aim without causing unwanted move inthe video game. This is similar in concept to what an FPS game player ona PC does when using a mouse. When the PC player wants to move the mousewithout affecting the action on the screen, they simply lift the mouseoff the table so that they can move it without causing any input to thePC. If they were not able to do this then they might find themselves ina situation where the mouse is, for example, moved to the far left edgeof the desk, and therefore the in game character cannot be moved anyfurther to the left. The processor 120 reads the value of this “movementsuspension” button to see if it is pressed or released. If the processor120 detects that the button is pressed, then the processor 120 reports amotion value of zero to the video game console 140. If the processor 120detects that the button is released, then the processor 120 insteadreports a motion value to the video game console 140 that is based onthe current displacement value that is calculated by the image processor125 (which is in turn proportional to the motion of the video camera110).

In this embodiment there is a button on the right hand side of the gun.This button is near the rear of the trigger guard. The button is placedsuch that it is located directly under the middle knuckle of the triggerfinger of the game player's right hand. The game player can depress thisbutton by pushing it with the underside of the knuckle of their triggerfinger. This gives the game player a second button in addition to thetrigger button on the gun that they can operate with their triggerfinger. A third button that is operated by the game player's triggerfinger is located on the interior of the trigger guard right above theactually trigger button. The game player can press this button simply bymoving their trigger finger in an upward direction.

In another embodiment of the present invention an expandable rifle stockis attached to the plastic enclosure. This allows the game player tobrace the apparatus against their shoulder for greater precision andrealism. Also, to enhance realism further, a solenoid is attached to thePCB, and it is instructed by the processor 120 to give a jolt every timethe trigger button on the apparatus is pressed.

In another embodiment of the present invention a pressure sensitive footpad is attached to the PCB via a wired connection. The player stands onthe foot pad and the processor 120 reads the steps that the user takeswhile on the pad. This processor 120, for example, translates this footstep information into commands that cause the in-game character of avideo game to walk in a particular direction. This increases theimmersive-ness of the apparatus, and also can give the game player someexercise. A pulse rate sensor is also attached to the PCB, and the pulserate sensor is connected to metal contacts on the pistol grip of theenclosure. The heart activity of the game player is monitored via thissensor via electrical signals from the user's skin that are conductedthrough the metal contacts. The user's pulse is reported on an LCDdisplay (that is also attached to the PCB) and is viewable through ahole in the enclosure. This allows the game player to monitor the levelof physical workout that they are receiving while playing the game andwalking, running, and jumping on the foot pad.

In another embodiment of the present invention, the rotation of theapparatus along an axis that runs through the front to the back of thecamera 110. The rotation information is used to keep track of whichdirection is up, and therefore keep the lateral movements of theapparatus consistent with a real gun. If this is not done then thedirection of motion generated in the video game will be differentdepending upon the how the apparatus is tilted along its Z axis.

In another embodiment of the present invention, a beacon is use in orderto give the image processor 125 an easy to track reference point fortracking motion and rotation. Without the beacon the image processor 125would have to rely on there being very trackable objects within everyenvironment, and there is no guarantee of this. In this embodiment thebeacon is in the form of a reflector. A light source is generated by anLED attached to the PCB. This light is reflected off of the reflector toproduce a very trackable land mark for the image processor 125.

In another embodiment of the present invention an LED is contained in aseparate enclosure from the gun shaped housing. The LED generates lightthat is detectable by the image processor 125. The image of this lightis then found in images from the camera 110, and its displacement fromimage to image is calculated. This displacement is translated to amovement action within the video game and transferred to the video gamevia the video game controller plug 130. The orientation of the LED isfixed, so the image processor 125 can also determine the rotation of thecamera 110 about the axis that runs through the camera 110 by examiningthe degree of tilt of the LED beacon within the images.

In another embodiment of the present invention the image processor 125examines images from the camera 110 to look for the telltale signs of atelevision. Once the television is detected then is it tracked insubsequent images. The displacement of the television across images iscalculated and translated to motion information that the video gameconsole 140 can understand, and this motion information is sent to thevideo game console 140 to cause movement of an in game character. Therotation and orientation of the gun about its Z axis is also calculatedbased on the assumption that the top of the television is facing upward.The detection of the television is also used by the image processor 125to disregard any motion that occurs with the television, since thismotion will probably be contrary to the motion of the apparatus, andtherefore would ruin the displacement calculations.

In another embodiment of the present invention a second camera isattached to the PCB, and is aimed toward the game player. The imagesfrom this second camera are analyzed to identify the game player. Theimage of the game player is analyzed to detect specific movements andgestures of the game player. These gestures are then mapped to codes forfunctions of the video game. These codes are then transferred to thevideo game to invoke specific actions within the video game based on themotions of the game player's body. One of the gestures a user canperform is to kneel down. In many video games, especially FPS games,there is a button on a gamepad controller (or key on the keyboard of aPC) that is used to cause the in game character to crouch. When the gameplayer kneels down, then the image processor 125 will identify thisaction, and the processor 120 will map this action to an appropriatecode for the video game, thereby causing the in game character on thescreen to also kneel down.

In another embodiment of the present invention even greater precision ofmovement of the features being tracked can be determined by doing a “subpixel” search. If an image is HEIGHT pixels high and WIDTH pixels wide,then the image contains resolution of HEIGHT×WIDTH pixels. But also,grayscale and color images contain additional resolution in their “colordepth”. Color depth is determined by the number of bits that are used torepresent each pixel. In a monochrome bitmap only 1 bit is used perpixel. But in this embodiment 24 bits are used to represent each pixel.If a literal image compare is done between the feature to search for,and the image frame, then this 24 bits of color resolution is not beingfully utilized. This is because when a camera moves only a tiny amountthen this can cause the features in the image to simply bleed a bit tothe next pixel without moving a whole pixel in any direction. With adirect feature compare from pixels in the feature to pixels in the imagethis small motion will not be detected. In order to harness this colordepth resolution, and therefore detect this small movement of the videocamera 110, the feature being searched for has to be shifted a fractionof a pixel in a given direction. This is done by looking at each pixelof the feature bitmap, and then giving it a new color value that isbased on its neighboring pixels in the direction the pixel is beingshifted. For example, if the pixels are being shifted 0.5 of a pixeldirectly to the right, then the new pixel value will be 50% of thecurrent pixel color value plus 50% of the color value of the pixeldirectly to the right. If the pixels are being shifted in a diagonaldirection then the new value of the pixel is based on the sum of thefractional values of pixels that the shifted pixel overlaps when it isshifted (including the contribution from the old location of the shiftedpixel).

Note that the invention described herein is not limited to theaforementioned embodiments, but rather these are examples meant to helpcrystallize the invention in the mind of the reader. For example, thedevice itself can be connected to the video game console 140 via manyphysical and wireless means, and the camera used could be of manydifferent varieties of camera, including infrared, etc. And the videogame could reside on any video game player, including many differentvideo game console 140 devices and personal computers.

1. An apparatus for providing realistic gun input to a video game, comprising: A housing that is shaped like a firearm; A camera; An image processing means that processes images from said camera and produces camera motion information; A means for translating said camera motion information into motion information for a video game; A means for transmitting said motion information for a video game to a video game; A plurality of buttons for controlling various functions of a video game; Whereby moving said housing shaped like a firearm causes corresponding motion displayed by said video game.
 2. An apparatus as recited in claim 1 further comprising a means for adjusting the sensitivity of said motion information, wherein the magnitude of said motion information can be amplified and can be reduced.
 3. An apparatus as recited in claim 1 further comprising a means for mapping the function of button within said plurality of buttons to any other button within said plurality of buttons.
 4. An apparatus as recited in claim 1 further comprising: a means for simulating the recoil action force of a firearm; an expandable rifle stock.
 5. The apparatus of claim 1 further comprising a means of measuring the angle of rotation of said housing that is shaped like a firearm about an axis of rotation that is approximately parallel to the axis of rotation that runs longitudinally from the back to the front of said housing that is shaped like a firearm.
 6. The apparatus of claim 1 further comprising: a second camera that is aimed toward said housing that is shaped like a firearm; a means for processing images from said second camera and detecting motions of a game player; whereby motions of said game player can detected and then translated into actions within said video game.
 7. The apparatus of claim 1 further comprising: a pressure sensitive pad that a game player stands on and generates foot step information; a means of reading said foot step information from said pressure sensitive pad; a means of producing actions within said video game based on foot step information from said pressure sensitive pad.
 8. The apparatus of claim 1 further comprising a pulse rate sensor whereby the pulse of the game player can be monitored and displayed.
 9. The apparatus of claim 1 further comprising a thumbstick located on the upper portion of the pistol grip of said housing that is shaped like a firearm.
 10. The apparatus of claim 1 further comprising a beacon that is used to give said image processor a point of reference in the environment.
 11. The apparatus of claim 10 wherein said beacon is selected from the group consisting of: a reflector, and a light source, and a television.
 12. An apparatus as recited in claim 1 further comprising a plurality of buttons on the side of the fore grip of said housing that is shaped like a firearm.
 13. An apparatus as recited in claim 1 further comprising a button on the side of the trigger guard of said housing that is shaped like a firearm, and wherein said button is positioned such that said button is pressed with underside of the knuckle area of the trigger finger of a person's right hand.
 14. An apparatus as recited in claim 1 further comprising a button positioned on the interior of the trigger guard of said housing that is shaped like a firearm such that said button is above the trigger finger of a person's right hand, whereby the game player can press the button with the side of their trigger finger by moving their trigger finger in an upward direction.
 15. An apparatus as recited in claim 1 further comprising a means to store and recall a set of button mappings in non-volatile memory, whereby a user is able to select a different set of button mappings depending upon which video game is being played.
 16. The apparatus of claim 1 further comprising a button selected from the group consisting of: a pump action button which is pressed by a pump action motion like on a shotgun, and a clip reload button which is pressed by pushing on the bottom of the pistol grip of said gun shaped like a firearm, and a button for selecting between fully automatic and semi automatic ammunition firing modes, and a button which causes said apparatus to cease updating said video game with said motion information, and a button which causes a change in the magnitude of said motion information reported to said video game, and a DPAD button, and a button located in the trigger location of said housing that is shaped like a firearm, and a second button located in the trigger area of said housing that is shaped like a firearm, and a third button located in the trigger area of said housing that is shaped like a firearm, and a button on the side of the fore grip of said housing that is shaped like a firearm, and a button positioned on the interior of the trigger guard of said housing that is shaped like a firearm such that said button is below the trigger finger of a person's right hand, and a button positioned on the interior of the trigger guard of said housing that is shaped like a firearm such that said button is above the trigger finger of a person's right hand, and such that said button can be pressed with the side of a person's right hand index finger, and a button on the side of the trigger guard of said housing that is shaped like a firearm and wherein said button is positioned such that said button is pressed with underside of the knuckle area of the trigger finger of a person's right hand, and a button on the side of the fore grip of said housing that is shaped like a firearm that is pressed with the underside of the knuckle area of a finger of a person's left hand, and a button used to map buttons within said plurality of buttons to other functions, and a button used to create a macro command, and a button used to alter the sensitivity of the gun motion that is reported to said video game, and a button used to define and recall a collection of button mappings known as a profile, and a button on the side of the trigger guard of said housing that is shaped like a firearm wherein said button is positioned such that it is easily pressed with underside of the knuckle area of the trigger finger of a person's right hand, and a button on the side of the fore grip of said housing that is shaped like a firearm wherein said button is positioned such that it can be easily pressed with underside of the knuckle area of the thumb of a person's left hand, and a button on the side of the pistol grip of said housing that is shaped like a firearm wherein said button is positioned such that it is pressed with underside of the knuckle area of a finger of a person's right hand, and a button on the side of the pistol grip of said housing that is shaped like a firearm wherein said button is positioned such that it is pressed with underside of the knuckle area of the thumb of a person's right hand, and a button mounted on the left hand side of the pistol grip for operation by the fingers of the users right hand, and a button that is similar in location to the safety button of a firearm, and a button that is pressed by a slide action actuator similar the slide action actuator of a semi-automatic pistol.
 17. An apparatus as recited in claim 1 further comprising a means of temporarily diminishing the magnitude of said motion information transmitted to said video game, whereby a game player can reposition and adjust the aim of said apparatus to a new position without causing significant movement in said video game.
 18. The apparatus of claim 17 further comprising a button selected from the group consisting of: a pump action button which is pressed by a pump action motion like on a shotgun, and a clip reload button which is pressed by pushing on the bottom of the pistol grip of said gun shaped like a firearm, and a button for selecting between fully automatic and semi automatic ammunition firing modes, and a button which causes said apparatus to cease updating said video game with said motion information, and a button which causes a change in the magnitude of said motion information reported to said video game, and a DPAD button, and a button located in the trigger location of said housing that is shaped like a firearm, and a second button located in the trigger area of said housing that is shaped like a firearm, and a third button located in the trigger area of said housing that is shaped like a firearm, and a button on the side of the fore grip of said housing that is shaped like a firearm, and a button positioned on the interior of the trigger guard of said housing that is shaped like a firearm such that said button is below the trigger finger of a person's right hand, and a button positioned on the interior of the trigger guard of said housing that is shaped like a firearm such that said button is above the trigger finger of a person's right hand, and such that said button can be pressed with the side of a person's right hand index finger, and a button on the side of the trigger guard of said housing that is shaped like a firearm and wherein said button is positioned such that said button is pressed with underside of the knuckle area of the trigger finger of a person's right hand, and a button on the side of the fore grip of said housing that is shaped like a firearm that is pressed with the underside of the knuckle area of a finger of a person's left hand, and a button used to map buttons within said plurality of buttons to other functions, and a button used to create a macro command, and a button used to alter the sensitivity of the gun motion that is reported to said video game, and a button used to define and recall a collection of button mappings known as a profile, and a button on the side of the trigger guard of said housing that is shaped like a firearm wherein said button is positioned such that it is easily pressed with underside of the knuckle area of the trigger finger of a person's right hand, and a button on the side of the fore grip of said housing that is shaped like a firearm wherein said button is positioned such that it can be easily pressed with underside of the knuckle area of the thumb of a person's left hand, and a button on the side of the pistol grip of said housing that is shaped like a firearm wherein said button is positioned such that it is pressed with underside of the knuckle area of a finger of a person's right hand, and a button on the side of the pistol grip of said housing that is shaped like a firearm wherein said button is positioned such that it is pressed with underside of the knuckle area of the thumb of a person's right hand, and a button mounted on the left hand side of the pistol grip for operation by the fingers of the users right hand, and a button that is similar in location to the safety button of a firearm, and a button that is pressed by a slide action actuator similar the slide action actuator of a semi-automatic pistol.
 19. A method for adapting realistic gun motion input to a video game, the method comprising the steps of: generating a plurality of images from a camera; comparing images from said plurality of images to each other and detecting motion by calculating displacement of a subset of pixels from one image from said plurality of images to a subsequent image in said plurality of images; using said displacement of said subset of pixels to calculate motion data; update said video game with said motion data; whereby moving said camera causes corresponding motion displayed by said video game.
 20. The method of claim 19 further comprising the steps of: determining if a game player would like to recalibrate the location of said camera that will correspond to causing no motion within said video game; reporting motion values to said video game that cause no motion within said video game if has been determined that said game player has selected to recalibrate the zero location of said camera; whereby a game player can reposition and adjust said camera to a new position without causing significant movement in said video game.
 21. The method of claim 19 further comprising the step of choosing a subset of pixels to track from within an image from said plurality of images that has a high degree of dissimilarity with neighboring subsets of pixels.
 22. The method of claim 19 further comprising the step of searching for said subset of pixels in a lower resolution version of an image from said plurality of images; whereby computation time is decreased.
 23. The method of claim 19 further comprising the steps of: altering said subset of pixels so that it resembles a subset of pixels that would be generated if said camera were shifted less than one pixel distance in a chosen direction, thereby producing a shifted subset of pixels; compare said shifted subset of pixels to a second subset of pixels within an image from said plurality of images; using the magnitude of degree of shift of said shifted subset of pixels to calculate the degree of movement of said camera; whereby camera movements smaller than one pixel can be detected and used to provide higher resolution motion information to said video game. 